﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLyShopThoiTrang.QuanLyShopThoiTrang_BUS_WS;

namespace QuanLyShopThoiTrang
{
    public partial class ThemNhanVien : Form
    {
        int iIndex = 0;
        QLSTT_BUSSoapClient ws = new QLSTT_BUSSoapClient();
        public ThemNhanVien()
        {
            InitializeComponent();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            open.Filter = "JPG Files|*.jpg";
            open.Title = "Chọn hình ảnh cho nhân viên";
            open.InitialDirectory = Environment.CurrentDirectory;
            if (open.ShowDialog() == DialogResult.OK)
            {
                textBox10.Text = open.FileName;
            }
        }

        private void button7_Click(object sender, EventArgs e)
        {
            textBox10.Text = "";
        }

        private void ThemNhanVien_Load(object sender, EventArgs e)
        {
            List<LoaiNhanVien> listLNV = ws.LoaiNhanVien_LayDanhSach();
            comboBox2.DataSource = listLNV;
            comboBox2.DisplayMember = "LoaiNhanVien_Ten";

            comboBox1.SelectedIndex = 0;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if(textBox11.Text == "")
            {
                MessageBox.Show("Hãy nhập tên");
                return;
            }
            if(dateTimePicker1.Value.Year > System.DateTime.Today.Year - 18)
            {
                MessageBox.Show("Tuổi phải trên 18");
                return;
            }
            if(textBox9.Text == "")
            {
                MessageBox.Show("Hãy nhập lương");
                return;
            }
            if (textBox2.Text == "")
            {
                MessageBox.Show("Hãy nhập tên đăng nhập");
                return;
            }
            NhanVien temp = new NhanVien();
            temp.NhanVien_TenDangNhap = textBox2.Text;
            if(!ws.NhanVien_KiemTraTenDangNhap(temp))
            {
                MessageBox.Show("Tên đăng nhập này đã dùng rồi");
                return;
            }
            if (textBox6.Text == "")
            {
                MessageBox.Show("Hãy nhập mật khẩu");
                return;
            }

            
            NhanVien nv = new NhanVien();
            nv.NhanVien_Ho = textBox1.Text;
            nv.NhanVien_TenLot = textBox5.Text;
            nv.NhanVien_Ten = textBox11.Text;

            nv.NhanVien_TenDayDu = textBox1.Text.Trim() + " " + textBox5.Text.Trim() + " " + textBox11.Text.Trim();

            LoaiNhanVien lnv = (LoaiNhanVien)comboBox2.SelectedItem;
            nv.MaLoaiNhanVien = lnv.MaLoaiNhanVien;

            nv.NhanVien_Phai = comboBox1.Text;

            nv.NhanVien_DiaChi = textBox3.Text;

            nv.NhanVien_NgaySinh = dateTimePicker1.Value;

            nv.NhanVien_SoDienThoai = textBox4.Text;
            nv.NhanVien_Email = textBox7.Text;

            if(ws.KiemTraDouble(textBox9.Text))
                nv.NhanVien_Luong = double.Parse(textBox9.Text);
            else
            {
                MessageBox.Show("Lương không hợp lệ");
                return;
            }
            nv.NhanVien_TenDangNhap = textBox2.Text;
            nv.NhanVien_MatKhau = textBox6.Text;
            nv.NhanVien_HinhAnh = textBox10.Text;

            nv.NhanVien_TrangThai = "Su dung";

            dataGridView1.Rows.Add(dataGridView1.Rows.Count + 1, nv.NhanVien_TenDayDu, lnv.LoaiNhanVien_Ten, nv.NhanVien_Phai, nv.NhanVien_NgaySinh.ToString(), nv.NhanVien_DiaChi, nv.NhanVien_Email, nv.NhanVien_SoDienThoai, nv.NhanVien_Luong);
            dataGridView1.Rows[dataGridView1.Rows.Count - 1].Tag = nv;

            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
            textBox6.Clear();
            textBox7.Clear();
            textBox9.Clear();
            textBox10.Clear();
            textBox1.Focus();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
            {
                dataGridView1.Rows.RemoveAt(cell.RowIndex);
            }

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                row.SetValues(row.Index + 1);
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            foreach(DataGridViewRow row in dataGridView1.Rows)
            {
                NhanVien nv = (NhanVien)row.Tag;
                ws.NhanVien_Them(nv);
            }
            dataGridView1.Rows.Clear();
            MessageBox.Show("Thành công");
        }

        private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            DataGridViewRow row = dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex];
            NhanVien nv = (NhanVien)row.Tag;
            textBox1.Text = nv.NhanVien_Ho;
            textBox5.Text = nv.NhanVien_TenLot;
            textBox11.Text = nv.NhanVien_Ten;
            textBox3.Text = nv.NhanVien_DiaChi;
            textBox4.Text = nv.NhanVien_SoDienThoai;
            textBox7.Text = nv.NhanVien_Email;
            textBox9.Text = nv.NhanVien_Luong.ToString();
            
            textBox2.Text = nv.NhanVien_TenDangNhap;
            textBox6.Text = nv.NhanVien_MatKhau;
            textBox10.Text = nv.NhanVien_HinhAnh;

            dateTimePicker1.Value = (DateTime)nv.NhanVien_NgaySinh;

            foreach (LoaiNhanVien lnv in comboBox2.Items)
            {
                if (lnv.MaLoaiNhanVien == nv.MaLoaiNhanVien)
                {
                    comboBox2.SelectedItem = lnv;
                }
            }

            foreach (string s in comboBox1.Items)
            {
                if (s == nv.NhanVien_Phai)
                {
                    comboBox1.SelectedItem = s;
                }
            }

            iIndex = row.Index;
            button5.Enabled = true;
            button1.Enabled = false;
            button2.Enabled = false;
            button3.Enabled = false;
            button4.Enabled = false;
            foreach (DataGridViewColumn column in dataGridView1.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (textBox11.Text == "")
            {
                MessageBox.Show("Hãy nhập tên");
                return;
            }
            if (dateTimePicker1.Value.Year > System.DateTime.Today.Year - 18)
            {
                MessageBox.Show("Tuổi phải trên 18");
                return;
            }
            if (textBox9.Text == "")
            {
                MessageBox.Show("Hãy nhập lương");
                return;
            }
            if (textBox2.Text == "")
            {
                MessageBox.Show("Hãy nhập tên đăng nhập");
                return;
            }
            NhanVien temp = new NhanVien();
            temp.NhanVien_TenDangNhap = textBox2.Text;
            if (!ws.NhanVien_KiemTraTenDangNhap(temp))
            {
                MessageBox.Show("Tên đăng nhập này đã dùng rồi");
                return;
            }
            if (textBox6.Text == "")
            {
                MessageBox.Show("Hãy nhập mật khẩu");
                return;
            }


            NhanVien nv = new NhanVien();
            nv.NhanVien_Ho = textBox1.Text;
            nv.NhanVien_TenLot = textBox5.Text;
            nv.NhanVien_Ten = textBox11.Text;

            nv.NhanVien_TenDayDu = textBox1.Text.Trim() + " " + textBox5.Text.Trim() + " " + textBox11.Text.Trim();

            LoaiNhanVien lnv = (LoaiNhanVien)comboBox2.SelectedItem;
            nv.MaLoaiNhanVien = lnv.MaLoaiNhanVien;

            nv.NhanVien_Phai = comboBox1.Text;

            nv.NhanVien_DiaChi = textBox3.Text;

            nv.NhanVien_NgaySinh = dateTimePicker1.Value;

            nv.NhanVien_SoDienThoai = textBox4.Text;
            nv.NhanVien_Email = textBox7.Text;

            if (ws.KiemTraDouble(textBox9.Text))
                nv.NhanVien_Luong = double.Parse(textBox9.Text);
            else
            {
                MessageBox.Show("Lương không hợp lệ");
                return;
            }
            nv.NhanVien_TenDangNhap = textBox2.Text;
            nv.NhanVien_MatKhau = textBox6.Text;
            nv.NhanVien_HinhAnh = textBox10.Text;

            nv.NhanVien_TrangThai = "Su dung";

            dataGridView1.Rows[iIndex].SetValues(dataGridView1.Rows.Count + 1, nv.NhanVien_TenDayDu, lnv.LoaiNhanVien_Ten, nv.NhanVien_Phai, nv.NhanVien_NgaySinh.ToString(), nv.NhanVien_DiaChi, nv.NhanVien_Email, nv.NhanVien_SoDienThoai, nv.NhanVien_Luong);
            dataGridView1.Rows[iIndex].Tag = nv;

            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
            textBox6.Clear();
            textBox7.Clear();
            textBox9.Clear();
            textBox10.Clear();
            textBox1.Focus();

            button5.Enabled = false;
            button1.Enabled = true;
            button2.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            foreach (DataGridViewColumn column in dataGridView1.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.Automatic;
            }
        }
    }
}
